home *** CD-ROM | disk | FTP | other *** search
- /*
- * @(#)sequence.h 1.3 7/9/87
- */
- #ifndef sequence_h
- #define sequence_h
- #ifndef nodes_h
- #include "nodes.h"
- #endif
-
- #define Sequence_For(R,S) \
- { \
- register int z__z; \
- if ((S) != NULL) \
- for (z__z = (S)->firstChild; z__z < (S)->nChildren; z__z++) {\
- (R) = (S)->b.children[z__z];
- #define Sequence_Next\
- }\
- }
- #define Sequence_ReverseFor(R,S) \
- { \
- register int z__z; \
- int z__y; \
- if ((S) != NULL) \
- for (z__z = (S)->nChildren - 1; z__z >= (z__y = (S)->firstChild); z__z--) {\
- (R) = (S)->b.children[z__z];
-
- NodePtr Sequence_Add(/* s, n */);
- /* NodePtr *s, n; */
- NodePtr Sequence_AddFirst(/* s, n */);
- /* NodePtr *s, n; */
- #define Sequence_Length(s) (((s) == NULL) ? 0 : (int)((s)->nChildren - (s)->firstChild))
- #define isASequence(s) ((s) == NULL ? 1 : (s)->tag == T_SEQUENCE)
-
- void Sequence_RemoveSeparators(/* s */);
- /* NodePtr s; */
- NodePtr Sequence_Construct(/* n, first */);
- /* int n; NodePtr first; */
- void Sequence_Free();
- #endif
-